package com.nanhai.buddhist.college.module.collegebase.convert.classes;

import java.util.*;

import com.nanhai.buddhist.college.framework.common.pojo.PageResult;

import com.nanhai.buddhist.college.module.collegebase.api.collegeclass.dto.ClassesBaseInfoDTO;
import com.nanhai.buddhist.college.module.collegebase.api.collegeclass.dto.ClassesInfoDTO;
import com.nanhai.buddhist.college.module.collegebase.api.collegeclass.dto.ClassesParentInfoDTO;
import com.nanhai.buddhist.college.module.collegebase.api.collegeclass.dto.ClassesRespDTO;
import com.nanhai.buddhist.college.module.collegebase.controller.admin.classes.vo.ClassesCreateReqVO;
import com.nanhai.buddhist.college.module.collegebase.controller.admin.classes.vo.ClassesExcelVO;
import com.nanhai.buddhist.college.module.collegebase.controller.admin.classes.vo.ClassesRespVO;
import com.nanhai.buddhist.college.module.collegebase.controller.admin.classes.vo.ClassesUpdateReqVO;
import com.nanhai.buddhist.college.module.collegebase.dal.dataobject.classes.ClassesInfoDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import com.nanhai.buddhist.college.module.collegebase.controller.admin.classes.vo.*;
import com.nanhai.buddhist.college.module.collegebase.dal.dataobject.classes.ClassesDO;

/**
 * 学校管理-班级 Convert
 *
 * @author 开发
 */
@Mapper
public interface ClassesConvert {

    ClassesConvert INSTANCE = Mappers.getMapper(ClassesConvert.class);

    ClassesDO convert(ClassesCreateReqVO bean);

    ClassesDO convert(ClassesUpdateReqVO bean);

    ClassesRespVO convert(ClassesDO bean);

    List<ClassesRespVO> convertList(List<ClassesDO> list);

    PageResult<ClassesRespVO> convertPage(PageResult<ClassesDO> page);

    List<ClassesExcelVO> convertList02(List<ClassesDO> list);


    List<ClassesRespDTO> convertList03(List<ClassesDO> list);


    ClassesInfoDTO convertInfoDTO(ClassesDO bean);

    List<ClassesInfoDTO> convertInfoDTOList(List<ClassesDO> list);

    PageResult<ClassesInfoDTO> convertClassesInfoDTOPage(PageResult<ClassesDO> page);

    List<ClassesParentInfoDTO> convertParentInfoDTO(List<ClassesInfoDO> classesInfoDOS);

    ClassesParentInfoDTO   convertParentInfoDTOOne(ClassesInfoDO bean);
    List<ClassesBaseInfoDTO> convertBaseInfo2DTO(List<ClassesInfoDO> bean);
}
